package cn.hfjava.kz.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;

/**
 * 考生表
 * @TableName students
 */
@TableName(value ="students")
@Data
@Tag(name = "考生表", description = "")
public class Student implements Serializable {
    /**
     * 考生编号
     */
    @Schema(name = "考生编号", description = "使用自动增长主键赋值")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 考生姓名
     */
    @Schema(name = "考生姓名", description = "")
    @TableField(value = "name")
    private String name;

    /**
     * 密码，使用加密算法对密码进行加密处理
     */
    @Schema(name = "密码", description = "使用加密算法对密码进行加密处理，默认身份证后六位")
    @TableField(value = "password")
    private String password;

    /**
     * 头像地址，使用默认头像为默认值
     */
    @Schema(name = "头像地址", description = "使用默认头像为默认值")
    @TableField(value = "avatar")
    private String avatar;

    /**
     * 身份证号
     */
    @Schema(name = "身份证号", description = "")
    @TableField(value = "identityId")
    private String identityId;

    /**
     * 民族
     */
    @Schema(name = "民族", description = "")
    @TableField(value = "nation")
    private String nation;

    /**
     * 最高学历
     */
    @Schema(name = "最高学历", description = "")
    @TableField(value = "education")
    private String education;

    /**
     * 考生来源
     */
    @Schema(name = "考生来源", description = "")
    @TableField(value = "source")
    private String source;

    /**
     * 是否农业户口，默认值为1，1表示是，0表示否
     */
    @Schema(name = "是否农业户口", description = "默认值为1，1表示是，0表示否")
    @TableField(value = "nongYe")
    private Integer nongYe;

    /**
     * 联系电话
     */
    @Schema(name = "联系电话", description = "")
    @TableField(value = "phone")
    private String phone;


    /**
     * 工作年限，最多两位整数
     */
    @Schema(name = "工作年限", description = "从事本职业年限 最多两位整数")
    @TableField(value = "workAge")
    private Integer workAge;

    /**
     * 通信地址
     */
    @Schema(name = "通信地址", description = "")
    @TableField(value = "address")
    private String address;
    /**
     * 招生老师
     */
    @Schema(name = "招生老师", description = "")
    @TableField(value = "teacher")
    private String teacher;

    /**
     * 所在单位
     */
    @Schema(name = "所在单位", description = "")
    @TableField(value = "workUnit")
    private String workUnit;
    /**
     * 创建人
     */
    @Schema(name = "创建人", description = "")
    @TableField(value = "createdBy")
    private String createdBy;

    /**
     * 创建人ID
     */
    @Schema(name = "创建人", description = "")
    @TableField(value = "userId")
    private Integer userId;

    /**
     * 创建时间，默认值为系统当前时间 now()
     */
    @Schema(name = "创建时间", description = "默认值为系统当前时间 now()")
    @TableField(value = "createdDate")
    private LocalDateTime createdDate;

    /**
     * 是否删除，删除标记0表示未删除1表示已删除
     */
    @Schema(name = "是否删除", description = "删除标记 0表示未删除 1表示已删除")
    @TableField(value = "deleted")
    private Integer deleted;

    /**
     * 考生状态，默认值为0，0表示启用1表示禁用
     */
    @Schema(name = "考生状态", description = "默认值为0，0表示待申报 1表示已申报")
    @TableField(value = "status")
    private Integer status;

    /**
     * 备注，现持有职业资格证书（50个汉字以内）
     */
    @Schema(name = "备注", description = "工作学习简历（培训情况）")
    @TableField(value = "remark")
    private String remark;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
